About portfolYOU

Star Fork Download

portfolYOU is a free modern open-source Jekyll portfolio and blogging theme that works with GitHub Pages.

Features

Installation

As a GitHub Pages remote theme

  1. Download portfolYOU as .zip from official repo then extract the files.
  2. Delete unnecessary files and folders: README.md, CONTRIBUTING.md, LICENSE, docs/
  3. Delete theme directories, as they will be included remotely : _includes/, _layouts/, _sass/, assets/
  4. Delete Gemfile and .gitignore if you aren’t going to set up the theme locally.
  5. Your directory structure should be looking something like this:

    your_site_name/
    ├── _data/
    │   ├── other-skills.yml
    │   ├── programming-skills.yml
    │   ├── social-media.yml
    │   └── timeline.yml
    ├── _posts/
    │   ├── YYYY-MM-DD-article-1.md
    │   ├── ....
    │   └── YYYY-MM-DD-article-n.md
    ├── _projects/
    │   ├── project-1.md
    │   ├── ....
    │   └── project-n.md
    ├── articles/
    │   ├── index.html
    │   └── tags.html
    ├── pages/
    │   ├── about.md
    │   └── projects.html
    ├── _config.yml
    ├── 404.html
    ├── index.html
    └── search.json
    
  6. Uncomment the following line in _config.yml:

     remote_theme: YoussefRaafatNasry/portfolYOU
    

    to use a specific version of portfolYOU:

     remote_theme: YoussefRaafatNasry/portfolYOU@v1.0.0
    
  7. Replace baseurl: "/portfolYOU" with baseurl: "" if your are hosting the site at username.github.io directly.
  8. Change other configuration options in _config.yml depending on your needs.
  9. Set up portfolYOU locally or publish it to GitHub Pages.

As a Fork

  1. Fork the repo.
  2. Clone your fork.
  3. Delete unwanted sections.
  4. Modify and edit files’ contents upon your needs.
  5. Change configuration options in _config.yml depending on your needs.
  6. Commit and push changes to your fork.
  7. Set up portfolYOU locally or publish it to GitHub Pages.

Sections

portfolYOU’s sections are independent, you can remove any section upon your needs. Here’s a list of the files and folders needed by each section:

Projects Articles About
pages/projects.html articles/ pages/about.md
_includes/projects/ _includes/articles/ _includes/about/
_sass/projects.scss ¹ _sass/_articles.scss ¹ _sass/_skills.scss ¹
assets/js/card-animation.js ² _layouts/post.html _sass/_timeline.scss ¹
_projects/ ³ _posts/ ⁴ _data/ ⁵

If you are deleting any section, please consider the following:
¹ remove reference from _sass/portfolYOU.scss
² remove reference from _includes/scripts.html
³ remove collections and defaults from _config.yml
⁴ remove permalink and pagination from _config.yml
⁵ except _data/social-media.yml

Customization

When using portfolYOU as a theme means you can take advantage of the file overriding method. This allows you to overwrite any file in this theme with your own custom file, simply by matching the file name and path. The most common example of this would be if you want to add your own styles or change the favicon.
To change the favicon for example just generate your own using favicon or any other tool. Copy your new favicon.ico file into your own project with the same file path assets/favicon.ico.

Adding Content

Local Projects

  1. Add project-name.md or project-name.html to _projects/.
  2. Add front matter to the top of your new project file.

     ---
     name: Awesome Project
     tools: [Tool1, Tool2]
     image: image url or path here.
     description: Write project description here.
     ---
    
  3. Add project body in markdown or html. Check available elements to enjoy extra customization.
  4. Check more projects templates from here.

Remote Projects

Remote Projects are imported automatically from GitHub. The name, description and topics are fetched from the given repository name. Note that the repository must be public and on your own account. To add a Remote Project, add the following lines to your existing front matter in pages/projects.html:

---
remote_projects:
  - repo-name-1
  - repo-name-2
---

Articles

  1. Add YYYY-MM-DD-article-name.md to _posts/.
  2. Add front matter to the top of your new article file.

     ---
     title: Awesome Title
     tags: [TAG 1, TAG 2]
     style: fill / border (choose one only)
     color: primary / secondary / success / danger / warning / info / light / dark (choose one only)
     description: Write article description here, or it will be the first 25 words of the article's body.
     ---
    
  3. If you left both the style and color empty, the article’s style is set to default style.
  4. Add article body in markdown or html. Check available elements to enjoy extra customization.
  5. Check more articles templates from here.

Pages

  1. Add page-name.html or page-name.md to pages/, new subfolder or to root directory of your project.
  2. Add front matter to the top of your new page.

     ---
     layout: default
     title: Page Name
     permalink: /page_permalink/ (the output path for the page)
     weight: 2 (the order of the page in the navigation bar)
     ---
    
  3. The new page will be added to the navigation bar automatically.
  4. Check more pages templates from here.

External Content

If you want your project, article or even the page to refer to an external resource, google.com for example, just add the following attribute to your front matter:

---
external_url: https://google.com/
---

Skill

Add the following lines to _data/programming-skills.yml or _data/other-skills.yml.

- name: Awesome Skill
  percentage: 95
  color: secondary / success / danger / warning / info / light / dark (choose one only, default is primary)

Skills Category

  1. Add category_name-skills.yml to _data/.
  2. Add skills to the file using the previously mentioned method.
  3. Open pages/about.md.
  4. Add the following lines to the skills section between <div class="row"> and </div>:

     {% include about/skills.html title="Category_Name Skills" source=site.data.category_name-skills %}
    

Timeline Item

Add the following lines to _data/timeline.yml:

- title: Awesome Item
  from: 2016
  to: 2018
  description: Write item description here.

Social Network

portfolYOU provides a good number of social networks, but if you want to add your own, go on.

  1. Add the following lines to _data/social-media.yml:

     network_name:
       url   : https://www.network_name.com/
       icon  : fab fa-icon      # From FontAwesome (https://fontawesome.com/icons)
       color : 1da1f2           # Hex color code for hover
    
  2. Then add the following to _config under the author key:

     author:
       network_name : your_username_here
    
  3. The new network will be added to your footer automatically.

Dependencies

Dependency Version
Animate.css v3.7.0
Bootstrap v4.3.1
FontAwesome v5.6.3
GitHub Buttons v2.2.9
jQuery v3.3.1
Popper.js v1.14.6
pygments-css autumn
Simple Jekyll Search v1.7.2
wow.js v1.1.2

Credits

  1. 404 svg animated page A pen by Vladimir Gashenko.
  2. CSS3 Animated Skill Progress bar A pen by Shah Zobayer Ahmed.
  3. How to Create Bootstrap Card Hover Effect (jQuery) A video by Daily Tuition.
  4. Vertical Timeline (HTML-SCSS-CSS) A video by DevPen.